def seven_clap_game():
    clap_nums = []
    for num in range(1, 101):
        # 判断是否是7的倍数或包含数字7
        if num % 7 == 0 or '7' in str(num):
            clap_nums.append(num)
    return clap_nums

# 执行并打印结果
print("100以内需要拍手的数字：", seven_clap_game())
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
五子棋棋盘生成器
功能：按用户要求打印指定大小的五子棋棋盘
默认标准五子棋棋盘为15x15（15条线，形成14x14的格子和225个交叉点）
"""

def print_go_board(size=15, border_char='+', line_char='-', vertical_char='|', intersection_char='+'):
    """
    打印指定大小的五子棋棋盘
    
    参数:
    size (int): 棋盘的大小（线条数量，默认15，标准五子棋棋盘大小）
    border_char (str): 边框字符
    line_char (str): 横线字符
    vertical_char (str): 竖线字符
    intersection_char (str): 交叉点字符
    """
    # 计算实际的格子数量（比线条数少1）
    grid_size = size - 1
    
    # 打印棋盘标题
    print(f"\n五子棋棋盘 ({size}x{size})\n")
    
    # 打印顶部边框
    print(border_char, end='')
    for _ in range(grid_size):
        print(f"{line_char * 3}{border_char}", end='')
    print()
    
    # 打印棋盘主体
    for row in range(size):
        # 打印行号（可选）
        # 由于终端显示的限制，这里省略行号，专注于棋盘本身
        
        # 打印横线（如果不是最后一行）
        if row < grid_size:
            # 打印竖线和交叉点
            print(vertical_char, end='')
            for col in range(grid_size):
                print("   ", end='')  # 三个空格表示一个格子
                print(vertical_char, end='')
            print()
            
            # 打印下一行的横线
            print(intersection_char, end='')
            for _ in range(grid_size):
                print(f"{line_char * 3}{intersection_char}", end='')
            print()

def print_standard_go_board(size=15):
    """
    打印标准样式的五子棋棋盘（使用更简洁的字符表示）
    
    参数:
    size (int): 棋盘的大小（线条数量，默认15）
    """
    print(f"\n五子棋棋盘 ({size}x{size})\n")
    
    # 打印顶部数字标记
    print("   ", end='')
    for i in range(1, size + 1):
        print(f"{i:2d} ", end='')
    print()
    
    # 打印棋盘主体
    for row in range(1, size + 1):
        # 打印行号
        print(f"{row:2d} ", end='')
        
        # 打印行内容
        for col in range(size):
            # 在中心位置和天元、星位标记特殊点（标准15x15棋盘）
            if size == 15 and ((row in (4, 8, 12)) and (col + 1 in (4, 8, 12))):
                print("● ", end='')  # 使用●标记星位和天元
            else:
                print("┼ ", end='')  # 使用┼作为交叉点
        print()

def get_valid_board_size():
    """
    获取用户输入的有效棋盘大小
    
    返回:
    int: 有效的棋盘大小
    """
    while True:
        try:
            # 标准五子棋棋盘是15x15，但允许用户输入其他合理大小
            size = int(input("请输入棋盘大小（线条数量，标准为15，建议范围：5-25）: "))
            
            # 验证输入的合理性
            if 5 <= size <= 25:
                return size
            else:
                print("棋盘大小应在5到25之间，请重新输入。")
        except ValueError:
            print("请输入有效的数字。")

def get_board_style():
    """
    获取用户选择的棋盘样式
    
    返回:
    str: 用户选择的样式选项
    """
    while True:
        print("\n请选择棋盘样式：")
        print("1. 标准样式（含坐标和星位标记）")
        print("2. 简单样式（仅显示网格）")
        
        choice = input("请输入选择 (1-2): ").strip()
        
        if choice in ['1', '2']:
            return choice
        else:
            print("无效的选择，请重新输入。")

def main():
    """
    主函数
    """
    print("=" * 60)
    print("            五子棋棋盘生成器            ")
    print("=" * 60)
    print("\n说明：五子棋棋盘通常由纵横各15条线组成，")
    print("形成14x14的格子和225个交叉点。")
    print("标准棋盘上有5个特殊点：中心（天元）和四个星位。")
    print("\n本程序允许您自定义棋盘大小，并提供不同的显示样式。")
    print("=" * 60)
    
    # 获取用户选择的棋盘样式
    style_choice = get_board_style()
    
    # 获取棋盘大小
    size = get_valid_board_size()
    
    # 根据选择的样式打印棋盘
    if style_choice == '1':
        print_standard_go_board(size)
    else:
        print_go_board(size)
    
    print("\n" + "=" * 60)
    print("棋盘生成完成！")
    print("提示：在标准五子棋游戏中，黑方先行，黑白双方交替落子。")
    print("=" * 60)


if __name__ == "__main__":
    main()